package cn.bugstack.domain.trade.service;

import cn.bugstack.domain.activity.model.entity.UserGroupBuyOrderDetailEntity;
import cn.bugstack.domain.trade.model.entity.TradeRefundBehaviorEntity;
import cn.bugstack.domain.trade.model.entity.TradeRefundCommandEntity;
import cn.bugstack.domain.trade.model.valobj.TeamRefundSuccess;

import java.util.List;

public interface ITradeRefundOrderService {

    /**
     * @description: 退单
     * @author: 刘新智
     * @date: 2025/10/30 14:18
     * @param: [tradeRefundCommandEntity]
     * @return: cn.bugstack.domain.trade.model.entity.TradeRefundBehaviorEntity
     **/
    TradeRefundBehaviorEntity tradeRefundOrder(TradeRefundCommandEntity tradeRefundCommandEntity);

    /**
     * @description: 恢复库存
     * @author: 刘新智
     * @date: 2025/10/30 14:18
     * @param: [teamRefundSuccess]
     * @return: void
     **/
    void restoreTeamStock(TeamRefundSuccess teamRefundSuccess);

    /**
     * @description: 查询超时未支付订单
     * @author: 刘新智
     * @date: 2025/10/30 14:17
     * @param: []
     * @return: java.util.List<cn.bugstack.domain.activity.model.entity.UserGroupBuyOrderDetailEntity>
     **/
    List<UserGroupBuyOrderDetailEntity> queryTimeoutUnpaidOrderList();
}
